<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>节点操作-第一个子元素和最后一个子元素</title>
</head>

<body>

    <ul>
        <li>这是li-1</li>
        <li>这是li-2</li>
        <li>这是li-3</li>
        <li>这是li-4</li>
        <li>这是li-5</li>
    </ul>
    <script>
        var ul = document.querySelector('ul');
        // 1.firstChild 第一个子节点 包括了 文本节点 和 元素节点
        console.log(ul.firstChild); // #text nodeType: 3
        console.log(ul.lastChild);

        // 2.firstElementChild 返回第一个子元素节点  找不到返回null
        console.log(ul.firstElementChild);
        console.log(ul.lastElementChild);

        // * IE9 以上支持

        // 3.实际开发中的写法 既没有兼容性问题又返回第一个子元素
        console.log(ul.children[0]);
        console.log(ul.children[4]);
        // 动态的
        console.log(ul.children[ul.children.length - 1]);
    </script>
</body>

</html>